package com.ruoyi.project.cyq.task.task.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

public class Task {

    /**
     * 任务Id
     */
    private long taskId;

    /**
     * 执行人员Id
     */
    private long userId;

    /**
     * 任务状态
     */
    private Integer taskStatus;

    /**
     * 紧急程度
     */
    private Integer taskLeave;

    /**
     * 任务内容
     */
    private String taskContent;

    /**
     * 任务处理开始的时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date taskStartTime;

    /**
     * 任务处理结束的时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date taskEndTime;

    /**
     * 任务创建的时间
     */
    private Date createTime;

    /**
     * 任务完成情况
     */
    private String taskFinishCase;

    /**
     * 任务标题
     */
    private String taskTitle;

    /**
     * 工作成果上传的路径
     */
    private String taskFile;

    /**
     * 工作成果的描述
     */
    private String taskResultDesc;


    /**
     * 下发人Id
     */
    private long taskIssueUserId;


    public Task(long taskId, long userId, Integer taskStatus, Integer taskLeave, String taskContent, Date taskStartTime, Date taskEndTime, Date createTime, String taskFinishCase, String taskTitle, String taskFile, String taskResultDesc, long taskIssueUserId) {
        this.taskId = taskId;
        this.userId = userId;
        this.taskStatus = taskStatus;
        this.taskLeave = taskLeave;
        this.taskContent = taskContent;
        this.taskStartTime = taskStartTime;
        this.taskEndTime = taskEndTime;
        this.createTime = createTime;
        this.taskFinishCase = taskFinishCase;
        this.taskTitle = taskTitle;
        this.taskFile = taskFile;
        this.taskResultDesc = taskResultDesc;
        this.taskIssueUserId = taskIssueUserId;
    }

    public Task() {
    }

    @Override
    public String toString() {
        return "Task{" +
                "taskId=" + taskId +
                ", userId=" + userId +
                ", taskStatus=" + taskStatus +
                ", taskLeave=" + taskLeave +
                ", taskContent='" + taskContent + '\'' +
                ", taskStartTime=" + taskStartTime +
                ", taskEndTime=" + taskEndTime +
                ", createTime=" + createTime +
                ", taskFinishCase='" + taskFinishCase + '\'' +
                ", taskTitle='" + taskTitle + '\'' +
                ", taskFile='" + taskFile + '\'' +
                ", taskResultDesc='" + taskResultDesc + '\'' +
                ", taskIssueUserId=" + taskIssueUserId +
                '}';
    }

    /**
     * 获取 任务Id
     *
     * @return taskId 任务Id
     */
    public long getTaskId() {
        return this.taskId;
    }

    /**
     * 设置 任务Id
     *
     * @param taskId 任务Id
     */
    public void setTaskId(long taskId) {
        this.taskId = taskId;
    }

    /**
     * 获取 执行人员Id
     *
     * @return userId 执行人员Id
     */
    public long getUserId() {
        return this.userId;
    }

    /**
     * 设置 执行人员Id
     *
     * @param userId 执行人员Id
     */
    public void setUserId(long userId) {
        this.userId = userId;
    }

    /**
     * 获取 任务状态
     *
     * @return taskStatus 任务状态
     */
    public Integer getTaskStatus() {
        return this.taskStatus;
    }

    /**
     * 设置 任务状态
     *
     * @param taskStatus 任务状态
     */
    public void setTaskStatus(Integer taskStatus) {
        this.taskStatus = taskStatus;
    }

    /**
     * 获取 紧急程度
     *
     * @return taskLeave 紧急程度
     */
    public Integer getTaskLeave() {
        return this.taskLeave;
    }

    /**
     * 设置 紧急程度
     *
     * @param taskLeave 紧急程度
     */
    public void setTaskLeave(Integer taskLeave) {
        this.taskLeave = taskLeave;
    }

    /**
     * 获取 任务内容
     *
     * @return taskContent 任务内容
     */
    public String getTaskContent() {
        return this.taskContent;
    }

    /**
     * 设置 任务内容
     *
     * @param taskContent 任务内容
     */
    public void setTaskContent(String taskContent) {
        this.taskContent = taskContent;
    }

    /**
     * 获取 任务处理开始的时间
     *
     * @return taskStartTime 任务处理开始的时间
     */
    public Date getTaskStartTime() {
        return this.taskStartTime;
    }

    /**
     * 设置 任务处理开始的时间
     *
     * @param taskStartTime 任务处理开始的时间
     */
    public void setTaskStartTime(Date taskStartTime) {
        this.taskStartTime = taskStartTime;
    }

    /**
     * 获取 任务处理结束的时间
     *
     * @return taskEndTime 任务处理结束的时间
     */
    public Date getTaskEndTime() {
        return this.taskEndTime;
    }

    /**
     * 设置 任务处理结束的时间
     *
     * @param taskEndTime 任务处理结束的时间
     */
    public void setTaskEndTime(Date taskEndTime) {
        this.taskEndTime = taskEndTime;
    }

    /**
     * 获取 任务创建的时间
     *
     * @return createTime 任务创建的时间
     */
    public Date getCreateTime() {
        return this.createTime;
    }

    /**
     * 设置 任务创建的时间
     *
     * @param createTime 任务创建的时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 获取 任务完成情况
     *
     * @return taskFinishCase 任务完成情况
     */
    public String getTaskFinishCase() {
        return this.taskFinishCase;
    }

    /**
     * 设置 任务完成情况
     *
     * @param taskFinishCase 任务完成情况
     */
    public void setTaskFinishCase(String taskFinishCase) {
        this.taskFinishCase = taskFinishCase;
    }

    /**
     * 获取 任务标题
     *
     * @return taskTitle 任务标题
     */
    public String getTaskTitle() {
        return this.taskTitle;
    }

    /**
     * 设置 任务标题
     *
     * @param taskTitle 任务标题
     */
    public void setTaskTitle(String taskTitle) {
        this.taskTitle = taskTitle;
    }

    /**
     * 获取 工作成果上传的路径
     *
     * @return taskFile 工作成果上传的路径
     */
    public String getTaskFile() {
        return this.taskFile;
    }

    /**
     * 设置 工作成果上传的路径
     *
     * @param taskFile 工作成果上传的路径
     */
    public void setTaskFile(String taskFile) {
        this.taskFile = taskFile;
    }

    /**
     * 获取 工作成果的描述
     *
     * @return taskResultDesc 工作成果的描述
     */
    public String getTaskResultDesc() {
        return this.taskResultDesc;
    }

    /**
     * 设置 工作成果的描述
     *
     * @param taskResultDesc 工作成果的描述
     */
    public void setTaskResultDesc(String taskResultDesc) {
        this.taskResultDesc = taskResultDesc;
    }

    /**
     * 获取 下发人Id
     *
     * @return taskIssueUserId 下发人Id
     */
    public long getTaskIssueUserId() {
        return this.taskIssueUserId;
    }

    /**
     * 设置 下发人Id
     *
     * @param taskIssueUserId 下发人Id
     */
    public void setTaskIssueUserId(long taskIssueUserId) {
        this.taskIssueUserId = taskIssueUserId;
    }
}
